home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / Pascal / Snippets / PNL Libraries / MySizeResource.p < prev    next >
Encoding:
Text File  |  1997-03-21  |  1.3 KB  |  63 lines  |  [TEXT/CWIE]

  1. unit MySizeResource;
  2.  
  3. interface
  4.  
  5.     uses
  6.         Types;
  7.  
  8. {$PUSH}
  9. {$ALIGN MAC68K}
  10.  
  11.     type
  12.         sizeRsrc = packed record
  13.                 obsolete1: boolean;
  14.                 accept_suspend_events: boolean;
  15.                 obsolete2: boolean;
  16.                 can_background: boolean;
  17.                 does_activate_on_fg_switch: boolean;
  18.                 only_background: boolean;
  19.                 get_front_clicks: boolean;
  20.                 accept_app_died_events: boolean;
  21.                 bit_32_compatibile: boolean;
  22.                 high_level_event_aware: boolean;
  23.                 local_remote_hl_events: boolean;
  24.                 stationary_aware: boolean;
  25.                 use_textedit_services: boolean;
  26.                 reserved1: boolean;
  27.                 reserved2: boolean;
  28.                 reserved3: boolean;
  29.                 size: longint;
  30.                 min_size: longint;
  31.             end;
  32.  
  33. {$ALIGN RESET}
  34. {$POP}
  35.  
  36.     procedure GetSizeResource (var size: sizeRsrc);
  37.  
  38. implementation
  39.  
  40.     uses
  41.         Resources, Memory,
  42.         MyMemory;
  43.  
  44.     procedure GetSizeResource (var size: sizeRsrc);
  45.         var
  46.             hhhh: Handle;
  47.             p: ^integer;
  48.     begin
  49.         hhhh := Get1Resource('SIZE', 0);
  50.         if (hhhh = nil) | (MGetHandleSize(hhhh) <> SizeOf(sizeRsrc)) then begin
  51.             hhhh := Get1Resource('SIZE', -1);
  52.         end;
  53.         if (hhhh = nil) | (MGetHandleSize(hhhh) <> SizeOf(sizeRsrc)) then begin
  54.             p := @size;
  55.             p^ := 0;
  56.             size.size := longint(384) * 1024;
  57.             size.min_size := longint(384) * 1024;
  58.         end else begin
  59.             BlockMoveData(hhhh^, @size, SizeOf(sizeRsrc));
  60.         end;
  61.     end;
  62.  
  63. end.